/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package kn.cstf2.login.Server;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import kn.cstf2.global.db.Operations.OperacionesDB;
import kn.cstf2.login.SQL.LoginSQL;
import kn.cstf2.global.Utils.CstF2Exception;
import kn.mx.cstf2.dto.UsuarioDto;

import org.apache.log4j.Logger;

/**
 *
 * @author user1
 */
public class LoginDao {
    
    private static Logger log = Logger.getLogger(LoginDao.class);
    OperacionesDB odb = new OperacionesDB();

    public UsuarioDto obtenerUsuarioIngreso(UsuarioDto usuario) {
        
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        String sentenciaSQL = LoginSQL.SELECCIONAR;
        int index = 1;

        try {
            conn = odb.obtenerConexion("db");
            
            ps = conn.prepareStatement(sentenciaSQL);
            
            ps.setString(index++, usuario.getName());
            ps.setString(index++, usuario.getPassword());
            
            rs = ps.executeQuery();
            usuario = AdaptadorLogin.obtenerUsuario(rs);         
        } catch (SQLException ex) {
            log.error("Error al obtener el Usuario desde la base de datos", ex);
            throw new CstF2Exception("Error al obtener el Usuario desde la base de datos");
        } finally {
            odb.cerrarResultSet(rs);
            odb.cerrarStatement(ps);
            odb.cerrarConnection(conn);
        }
        return usuario;
    }
}
